One of the main uses of various test and measurement instruments, and in particular an oscilloscope, is in a debug environment. A digital storage oscilloscope (DSO) is one of the primary tools of engineers in the development, debugging and certification of all kinds of electronic items.
As a debug tool, it is important for the oscilloscope to find anomalous events quickly. This is generally for two purposes. One purpose is to show evidence of a suspected problem. Another is to show enough about a problem to enable the setting up of the trigger to isolate the problem. Isolation of the problem is accomplished by repeatedly triggering on a problem and viewing the behavior at various circuit locations to identify cause-and-effect relationships.
A good way to show evidence of problems is to trigger repeatedly on an edge of a waveform. With digital oscilloscopes, it is possible to build up a persistence view showing the multiple triggers overlapping. In this way, presumably an infrequent behavior occurring on the edge is captured.
Steps in a typical debug scenario that can utilize such a DSO might include:
Develop a hypothesis of a problem (i.e. a glitch is on the clock line).
Develop evidence of the problem (i.e. see the glitch on the scope screen). This step is generally accomplished by setting up the DSO to trigger on an edge and generating a persistence map. After repeatedly triggering on the edge, perhaps eventually the glitch will be included in the picture and the evidence is found.
Isolate the problem (i.e. repeatedly trigger on the glitch). Thus, the picture of the glitch determined in step 2 is used to set up smart triggers or other appropriate triggering scenarios to repeatedly trigger on the glitch so that a more complete picture of the glitch is provided.
Determine cause and effect relationships (i.e. probe the power supply line) while repeatedly triggering on the glitch as set up in step 3 to test the hypothesis of step 1.
However, when performing such a debugging process, the inventors of the present invention have determined that there is a potential problem with the DSO's capability as a debug tool when glitch or other trigger events are rare and an update rate of the DSO is slow (where rare and slow are relative terms). The metric of usefulness of the digital scope in capturing anomalies would be the number of anomalies per second that the oscilloscope can accumulate on the screen. This would be based on the edge rate of the waveform, the update rate of the oscilloscope, and the statistical frequency of anomalies on an edge:
  AnomaliesPerSecond  =            {                                                  EdgeRate              >              MaxUpdateRate                                            MaxUpdateRate                                                EdgeRate                                otherwise                              }        ·    AnomaliesPerEdge  
This means that if the edge rate of the waveform does not exceed the update rate of the oscilloscope, then the scope captures every single edge (and therefore every single anomaly). The number of anomalies per second to the scope screen is equal to the edge rate multiplied by the number of anomalies per edge. When the edge rate of the waveform exceeds the update rate of the oscilloscope, the oscilloscope does not capture every edge and the number of anomalies per second to the screen is equal to the update rate of the oscilloscope multiplied by the anomalies per edge.
There are two ways to view this situation. One is to view the number of anomalies per second to screen as a metric of goodness. In this case, for high edge rates, the number of anomalies per second to screen for anomalies with a given rarity is directly proportional to the update rate of the oscilloscope. Another is to view a certain number of anomalies per second to the screen as a threshold of acceptance for debug use. In this case, the rarity of events that the oscilloscope is useful for finding is again directly proportional to the update rate. Either way, the oscilloscope with the highest update rate will be more useful for the purpose of finding anomalies.
For example, a glitch or other trigger event that occurs once per second may seem like a frequent event, but when it occurs on a one gigahertz clock, it occurs at the infrequent rate of once per billion edges. If the DSO is used with a typical update rate of two thousand updates per second, it will take:
            1      ·              10        9              ⁢                  edge        s            ·      1        ⁢                  s        event            ·      1        ⁢                  update        edge            ·              s                  2000          ·          update                      =            500000      ·              s        event              =          139      ·              hr        event            
This is a hopelessly long time to wait to see an event at that frequency of occurrence. Even with a faster scope update rate, one still needs to see enough of the events to develop a picture that allows isolation with the smart trigger.
Therefore, it would be beneficial to provide a trigger scheme and apparatus that overcomes these drawbacks of the prior art.